循环 (for, while, do-while, foreach)

概述

在编程中,循环是一种重复执行代码块的结构。PHP 提供了多种循环结构,包括 for、while、do-while 和 foreach。每种循环都有其特定的使用场景和优势。

1. for 循环

理论解释

for 循环通常用于已知循环次数的情况。它由三个部分组成:初始化、条件和增量/减量。

语法

for (初始化; 条件; 增量/减量) {
    // 循环体
}

代码示例

for ($i = 0; $i < 5; $i++) {
    echo "当前的 i 值是: $i <br>";
}

解释

  • 初始化: $i = 0 初始化计数器变量 $i。
  • 条件: $i < 5 是循环继续的条件。
  • 增量/减量: $i++ 每次循环结束后,$i 增加 1。

实践练习

编写一个 for 循环,输出 1 到 10 的平方数。

for ($i = 1; $i <= 10; $i++) {
    echo "$i 的平方是: " . ($i * $i) . "<br>";
}

2. while 循环

理论解释

while 循环在条件为 true 时重复执行代码块。它适用于循环次数未知的情况。

语法

while (条件) {
    // 循环体
}

代码示例

$i = 0;
while ($i < 5) {
    echo "当前的 i 值是: $i <br>";
    $i++;
}

解释

  • 条件: $i < 5 是循环继续的条件。
  • 循环体: 每次循环结束后,$i 增加 1。

实践练习

编写一个 while 循环,输出 1 到 10 的立方数。

$i = 1;
while ($i <= 10) {
    echo "$i 的立方是: " . ($i * $i * $i) . "<br>";
    $i++;
}

3. do-while 循环

理论解释

do-while 循环与 while 循环类似,但它的循环体至少会执行一次,即使条件为 false。

语法

do {
    // 循环体
} while (条件);

代码示例

$i = 0;
do {
    echo "当前的 i 值是: $i <br>";
    $i++;
} while ($i < 5);

解释

  • 循环体: 至少执行一次。
  • 条件: $i < 5 是循环继续的条件。

实践练习

编写一个 do-while 循环,输出 1 到 10 的平方根。

$i = 1;
do {
    echo "$i 的平方根是: " . sqrt($i) . "<br>";
    $i++;
} while ($i <= 10);

4. foreach 循环

理论解释

foreach 循环专门用于遍历数组或对象。它简化了数组元素的访问。

语法

foreach ($array as $value) {
    // 循环体
}

或

foreach ($array as $key => $value) {
    // 循环体
}

代码示例

$fruits = array("苹果", "香蕉", "橙子");
foreach ($fruits as $fruit) {
    echo "水果: $fruit <br>";
}

解释

  • $array: 要遍历的数组。
  • $value: 当前数组元素的值。
  • $key: 当前数组元素的键(可选)。

实践练习

编写一个 foreach 循环,输出一个关联数组中的键和值。

$student = array("name" => "张三", "age" => 20, "grade" => "A");
foreach ($student as $key => $value) {
    echo "$key: $value <br>";
}

总结

循环是编程中的基本结构,能够帮助我们高效地处理重复任务。通过 for、while、do-while 和 foreach 循环,我们可以根据不同的需求选择合适的循环结构。

下一步

接下来,我们将学习跳转语句(break 和 continue),它们可以进一步控制循环的执行流程。